Digital signal processing
Digital signal processing (DSP) is concerned with the representation of the signals by a sequence of numbers or symbols and the processing of these signals. Digital signal processing and analog signal processing are subfields of signal processing. DSP includes subfields like: audio and speech signal processing, sonar and radar signal processing, sensor array processing, spectral estimation, statistical signal processing, digital image processing, signal processing for communications, biomedical signal processing, seismic data processing, etc. Since the goal of DSP is usually to measure or filter continuous real-world analog signals, the first step is usually to convert the signal from an analog to a digital form, by using an analog to digital converter. Often, the required output signal is another analog output signal, which requires a digital to analog converter. DSP algorithms have long been run on standard computers, on specialized processors called digital signal processors (DSPs), or on purpose-built hardware such as application-specific integrated circuit (ASICs). Today there are additional technologies used for digital signal processing including more powerful general purpose microprocessors, field-programmable gate arrays (FPGAs), digital signal controllers (mostly for industrial apps such as motor control), and stream processors, among others. DSP domains In DSP, engineers usually study digital signals in one of the following domains: time domain (one-dimensional signals), spatial domain (multidimensional signals), frequency domain, autocorrelation domain, and wavelet domains. They choose the domain in which to process a signal by making an informed guess (or by trying different possibilities) as to which domain best represents the essential characteristics of the signal. A sequence of samples from a measuring device produces a time or spatial domain representation, whereas a discrete Fourier transform produces the frequency domain information, that is the frequency spectrum. Autocorrelation is defined as the cross-correlation of the signal with itself over varying intervals of time or space. Signal sampling With the increasing use of computers the usage of and need for digital signal processing has increased. In order to use an analog signal on a computer it must be digitized with an analog to digital converter (ADC). Sampling is usually carried out in two stages, discretization and quantization. In the discretization stage, the space of signals is partitioned into equivalence classes and quantization is carried out by replacing the signal with representative signal of the corresponding equivalence class. In the quantization stage the representative signal values are approximated by values from a finite set. In order for a sampled analog signal to be exactly reconstructed, the Nyquist-Shannon sampling theorem must be satisfied. This theorem states that the sampling frequency must be greater than twice the bandwidth of the signal. In practice, the sampling frequency is often significantly more than twice the required bandwidth. The most common bandwidth scenarios are: DC - BWx (baseband); and Fc +/-BWx, a frequency band centered on a carrier frequency ("direct demodulation"). A digital to analog converter (DAC) is used to convert the digital signal back to analog. The use of a digital computer is a key ingredient in digital control systems. Time and space domains The most common processing approach in the time or space domain is enhancement of the input signal through a method called filtering. Filtering generally consists of some transformation of a number of surrounding samples around the current sample of the input or output signal. There are various ways to characterize filters; for example: * A "linear" filter is a linear transformation of input samples; other filters are "non-linear." Linear filters satisfy the superposition condition, i.e. if an input is a weighted linear combination of different signals, the output is an equally weighted linear combination of the corresponding output signals. * A "causal" filter uses only previous samples of the input or output signals; while a "non-causal" filter uses future input samples. A non-causal filter can usually be changed into a causal filter by adding a delay to it. * A "time-invariant" filter has constant properties over time; other filters such as adaptive filters change in time. * Some filters are "stable", others are "unstable". A stable filter produces an output that converges to a constant value with time, or remains bounded within a finite interval. An unstable filter produces output which diverges. * A "finite impulse response" (FIR) filter uses only the input signal, while an "infinite impulse response" filter (IIR) uses both the input signal and previous samples of the output signal. FIR filters are always stable, while IIR filters may be unstable. Most filters can be described in Z-domain (a superset of the frequency domain) by their transfer functions. A filter may also be described as a difference equation, a collection of zeroes and poles or, if it is an FIR filter, an impulse response or step response. The output of an FIR filter to any given input may be calculated by convolving the input signal with the impulse response. Filters can also be represented by block diagrams which can then be used to derive a sample processing algorithm to implement the filter using hardware instructions. Frequency domain Signals are converted from time or space domain to the frequency domain usually through the Fourier transform. The Fourier transform converts the signal information to a magnitude and phase component of each frequency. Often the Fourier transform is converted to the power spectrum, which is the magnitude of each frequency component squared. The most common purpose for analysis of signals in the frequency domain is analysis of signal properties. The engineer can study the spectrum to determine which frequencies are present in the input signal and which are missing. Filtering, particularly in non realtime work can also be achieved by converting to the frequency domain, applying the filter and then converting back to the time domain. This is a fast, O(n log n) operation, and can give essentially any filter shape including excellent approximations to brickwall filters. There are some commonly used frequency domain transformations. For example, the cepstrum converts a signal to the frequency domain through Fourier transform, takes the logarithm, then applies another Fourier transform. This emphasizes the frequency components with smaller magnitude while retaining the order of magnitudes of frequency components. Frequency domain analysis is also called spectrum-'' or ''spectral analysis. Applications The main applications of DSP are audio signal processing, audio compression, digital image processing, video compression, speech processing, speech recognition, digital communications, RADAR, SONAR, seismology, and biomedicine. Specific examples are speech compression and transmission in digital mobile phones, room matching equalization of sound in Hifi and sound reinforcement applications, weather forecasting, economic forecasting, seismic data processing, analysis and control of industrial processes, computer-generated animations in movies, medical imaging such as CAT scans and MRI, image manipulation, high fidelity loudspeaker crossovers and equalization, and audio effects for use with electric guitar amplifiers. Implementation Digital signal processing is often implemented using specialised microprocessors such as the DSP56000 and the TMS320. These often process data using fixed-point arithmetic, although some versions are available which use floating point arithmetic and are more powerful. For faster applications FPGAs might be used. Beginning in 2007, multicore implementations of DSPs have started to emerge from companies including Freescale and startup Stream Processors, Inc. For faster applications with vast usage, ASICs might be designed specifically. For slow applications such as flame scanning, a traditional slower processor such as a microcontroller can cope. Techniques * Bilinear transform * Discrete Fourier transform * Discrete-time Fourier transform * Filter design * LTI system theory * Minimum phase * Transfer function * Z-transform * Goertzel algorithm * s-plane Related fields * Automatic control * Computer Science * Data compression * Electrical engineering * Information theory * Telecommunication * Analog signal processing References Further reading *Alan V. Oppenheim, Ronald W. Schafer, John R. Buck : Discrete-Time Signal Processing, Prentice Hall, ISBN 0-13-754920-2 *Boaz Porat: A Course in Digital Signal Processing, Wiley, ISBN 0471149616 *Richard G. Lyons: Understanding Digital Signal Processing, Prentice Hall, ISBN 0-13-108989-7 *Jonathan (Y) Stein, Digital Signal Processing, a Computer Science Perspective, Wiley, ISBN 0-471-29546-9 *Sen M. Kuo, Woon-Seng Gan: Digital Signal Processors: Architectures, Implementations, and Applications, Prentice Hall, ISBN 0-13-035214-4 *Bernard Mulgrew, Peter Grant, John Thompson: Digital Signal Processing - Concepts and Applications, Palgrave Macmillan, ISBN 0-333-96356-3 *Steven W. Smith: Digital Signal Processing - A Practical Guide for Engineers and Scientists, Newnes, ISBN 0-7506-7444-X *Paul A. Lynn, Wolfgang Fuerst: Introductory Digital Signal Processing with Computer Applications, John Wiley & Sons, ISBN 0-471-97984-8 *James D. Broesch: Digital Signal Processing Demystified, Newnes, ISBN 1-878707-16-7 *John G. Proakis, Dimitris Manolakis: Digital Signal Processing - Principles, Algorithms and Applications, Pearson, ISBN 0-13-394289-9 *Hari Krishna Garg: Digital Signal Processing Algorithms, CRC Press, ISBN 0-8493-7178-3 *P. Gaydecki: Foundations Of Digital Signal Processing: Theory, Algorithms And Hardware Design, Institution of Electrical Engineers, ISBN 0-85296-431-5 *Paul M. Embree, Damon Danieli: C++ Algorithms for Digital Signal Processing, Prentice Hall, ISBN 0-13-179144-3 *Anthony Zaknich: Neural Networks for Intelligent Signal Processing, World Scientific Pub Co Inc, ISBN 981-238-305-0 *Vijay Madisetti, Douglas B. Williams: The Digital Signal Processing Handbook, CRC Press, ISBN 0-8493-8572-5 *Stergios Stergiopoulos: Advanced Signal Processing Handbook: Theory and Implementation for Radar, Sonar, and Medical Imaging Real-Time Systems, CRC Press, ISBN 0-8493-3691-0 *Joyce Van De Vegte: Fundamentals of Digital Signal Processing, Prentice Hall, ISBN 0-13-016077-6 *Ashfaq Khan: Digital Signal Processing Fundamentals, Charles River Media, ISBN 1-58450-281-9 *Jonathan M. Blackledge, Martin Turner: Digital Signal Processing: Mathematical and Computational Methods, Software Development and Applications, Horwood Publishing, ISBN 1-898563-48-9 *Bimal Krishna, K. Y. Lin, Hari C. Krishna: Computational Number Theory & Digital Signal Processing, CRC Press, ISBN 0-8493-7177-5 *Doug Smith: Digital Signal Processing Technology: Essentials of the Communications Revolution, American Radio Relay League, ISBN 0-87259-819-5 *Henrique S. Malvar: Signal Processing with Lapped Transforms, Artech House Publishers, ISBN 0-89006-467-9 *Charles A. Schuler: Digital Signal Processing: A Hands-On Approach, McGraw-Hill, ISBN 0-07-829744-3 *James H. McClellan, Ronald W. Schafer, Mark A. Yoder: Signal Processing First, Prentice Hall, ISBN 0-13-090999-8 *Artur Krukowski, Izzet Kale: DSP System Design: Complexity Reduced Iir Filter Implementation for Practical Applications, Kluwer Academic Publishers, ISBN 1-4020-7558-8 *John G. Proakis: A Self-Study Guide for Digital Signal Processing, Prentice Hall, ISBN 0-13-143239-7 External links * The Scientist and Engineer's Guide to Digital Signal Processing, a book on DSP with all content available online, by Steven W. Smith, Ph.D. *Digital Signal Processing Wikibook Category:Digital electronics * Category:Telecommunication theory ar:معالجة الإشارة الرقمية da:Digital signalbehandling de:Digitale Signalverarbeitung es:Procesamiento digital de señales fr:Traitement numérique du signal it:Elaborazione numerica dei segnali he:עיבוד אותות דיגיטלי hu:Digitális jelfeldolgozás ms:Pemprosesan isyarat digital mn:Тоон дохио боловсруулалт ja:デジタル信号処理 nn:Digital signalhandsaming pl:Cyfrowe przetwarzanie sygnałów ru:Цифровая обработка сигналов sl:Digitalno procesiranje signalov fi:Digitaalinen signaalinkäsittely sv:DSP-processor th:การประมวลผลสัญญาณดิจิทัล tr:Sayısal sinyal işleme zh:数字信号处理